home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / cprog.EXE / KLAVYE.C < prev    next >
Text File  |  1980-01-05  |  2KB  |  60 lines

  1. /*klavye.c (Michael O'Connor/PC WORLD) */
  2.  
  3. #include <ctype.h>
  4. #include <dos.h>
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #define ISIN(l,h,v) ((l<=v)&&(v<=h))
  8.  
  9. int kbdelay=0;  /*Normal (default) yazìm gecikmesi */
  10. int kbrepeat=0; /*Normal (default) tekrar hìzì     */
  11.  
  12. void usage(void)
  13. {
  14.         puts("HATA:Menü için KLAVYE M yaz\n");
  15.         exit(1);
  16. }
  17.  
  18. void menu(void)
  19. {
  20.         clrscr();
  21.         puts("\n\t\t\tKLAVYE MENU:\n\n"
  22.              "\t klavye GECÿKME zamanì == gecikme msecs olarak\n"
  23.              "\t        A      ==     250\n"  
  24.              "\t        B      ==     500\n"  
  25.              "\t        C      ==     750\n"  
  26.              "\t        D      ==    1000\n"  
  27.              "\t klavye TEKRAR hìzì == saniye baƒìna karakter\n"                   
  28.              "0 == 30.0\t  8 == 15.0\t 16 == 7.5\t 24 == 3.7\n"
  29.              "1 == 26.7\t  9 == 13.3\t 17 == 6.7\t 25 == 3.3\n"
  30.              "2 == 24.0\t 10 == 12.0\t 18 == 6.0\t 26 == 3.0\n"
  31.              "3 == 21.8\t 11 == 10.9\t 19 == 5.5\t 27 == 2.7\n"
  32.              "4 == 20.0\t 12 == 10.0\t 20 == 5.0\t 28 == 2.5\n"
  33.              "5 == 18.5\t 13 ==  9.2\t 21 == 4.6\t 29 == 2.3\n"
  34.              "6 == 17.1\t 14 ==  8.6\t 22 == 4.3\t 30 == 2.1\n"
  35.              "7 == 16.0\t 15 ==  8.0\t 23 == 4.0\t 31 == 2.0\n"
  36.              "Sözdizim klavye <A..D> <0..31>\n" 
  37.              "Normal ayarlar A 0 (kìsa gecikme, hìzlì tekrar)"); 
  38.              exit(1);
  39. }
  40.  
  41. void main(int argc,char *argv[])
  42. {
  43.  int i;
  44.         if(toupper(argv[1][0])=='M') menu();
  45.         else for(i=1;i<argc;i++) 
  46.     if(isdigit(*argv[i])) {
  47.                 kbrepeat=atoi(argv[i]);
  48.                 if(!ISIN('A','D',argv[i][0])) usage();
  49.         kbdelay=argv[i][0]-'A';
  50.                 }
  51.         _AX = 0x0305;
  52.         _BH = kbdelay;
  53.         _BL = kbrepeat;
  54.         geninterrupt(0x16);
  55.  }
  56.  
  57.  
  58.  
  59.  
  60.